Skip to content

chore(compose): enable --enable-schema-eviction in precompute quickstart - #44

Merged
zzylol merged 1 commit into
mainfrom
chore/compose-enable-schema-eviction
Apr 20, 2026
Merged

zzylol merged 1 commit into
mainfrom
chore/compose-enable-schema-eviction

Conversation

@zzylol

@zzylol zzylol commented Apr 20, 2026

Copy link
Copy Markdown
Contributor

Summary

The docker-compose-precompute.yml queryengine service was missing --enable-schema-eviction, so Expired schemas (from a StreamingConfig swap that removed an agg_id, or from the new POST /api/v1/db/schemas/:id/expire in #42) stayed resident forever and their data was never dropped from the store — the opposite of what the §5 eviction service is designed to do.

What's in this PR

  • Add --enable-schema-eviction to the queryengine command in docker-compose-precompute.yml.
  • Set --schema-eviction-poll-secs=60 (down from 300s default) so the eviction is visible inside a demo run. Production deployments should raise this.

Why

The e2e that added retire/expire endpoints in #42 called force_expire and observed the schema flipped to Expired immediately — but the data kept hanging around until a backend restart (which wipes the whole registry, not what §5 intends).

Test plan

  • docker compose -f docker-compose-precompute.yml -f docker-compose-precompute.local.yml up -d boots the queryengine cleanly
  • Manual: POST /api/v1/db/schemas/:agg_id/expire, then wait ~60s, then verify:
    • GET /api/v1/db/schemas no longer lists the agg_id
    • The agg's data is gone from GET /store/metrics
    • Log line `Dropped agg_id N (Expired)` appears

🤖 Generated with Claude Code

The quickstart precompute compose was missing
`--enable-schema-eviction`, so Expired schemas (produced by a
`StreamingConfig` swap that removed an agg_id, or by
`POST /api/v1/db/schemas/:id/expire`) stayed resident in the
registry forever and their data never got dropped from the
store. The e2e that added retire/expire endpoints in #42
surfaced this: calling `force_expire` flipped the schema's
status immediately but the data kept hanging around until a
backend restart (which wipes the registry entirely — the
opposite of what the §5 service is designed to manage).

Also sets `--schema-eviction-poll-secs=60` (down from the
300s default) to make the eviction visible inside a demo run.
Production deployments should raise this.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zzylol
zzylol merged commit c6000aa into main Apr 20, 2026
@zzylol
zzylol deleted the chore/compose-enable-schema-eviction branch April 20, 2026 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant